﻿using System.Diagnostics;

namespace FrameworkCore.Helpers;

public class CmdHelper
{
    public static void ExecuteExternalProcess(string exePath, string arguments, bool isWaitForExit = false)
    {
        Process process = new Process();

        try
        {
            // 设置进程启动信息
            process.StartInfo.FileName = exePath;
            process.StartInfo.Arguments = arguments;
            process.StartInfo.UseShellExecute = false; // 不使用操作系统外壳程序启动

            // 启动进程
            process.Start();

            // 等待进程结束
            if (isWaitForExit) 
            {
                process.WaitForExit();
            }

            // 如果需要获取外部程序的输出，可以在这里处理
            // string output = process.StandardOutput.ReadToEnd();
            // Console.WriteLine("External application output: " + output);
        }
        catch (Exception ex)
        {
            Console.WriteLine("错误: " + ex.Message);
        }
        finally
        {
            process.Dispose(); // 释放资源
        }
    }
}
